Procurement of complex business applications trends toward on-demand and as-needed purchases. Instead of purchasing major releases of a business application every five years or so, a customer may selectively purchase from an annual enhancement package based on its business needs. The customer may choose and purchase components of specific functionalities from the enhancement package for immediate deployment at a reduced cost. Thus, the customer may enhance its business application capabilities timely without incurring unnecessary expenses.
Current art of software application development may not be adequate to meet demands of this new trend. A problem with business software applications developed using current art is that package errors may occur during packaging a business application. In a modular program, packaging software is the process of creating packages (or software components) that may be integrated into a primary application program. Currently, complex business applications such as Enterprise Resource Planning (ERP) applications are commonly developed in a shared development environment under which basic software modules such as objects developed by application developers may be shared and reused in different software components. The shared development environment may reduce the cost associated with developing a complex business application while still preserving consistency of the codes. However, when a customer may choose software components of specific functionalities from an enhancement package and deploy the custom-chosen components in an existing installment of a business application software, package errors may arise because these software components have been developed in a shared development environment without regards to the interrelations among objects and packages.
A large number of package errors may be generated when packaging complex business applications developed in a shared environment. A shared development system/environment means that more than one software components may be developed in that system/environment. For example, an SAP® ERP application may include more than 150,000 types of potential package errors. Most of these package errors may not be serious errors and thus may be ignored or corrected manually. However, some of the package errors may be serious and may require modifications of the business application. Unfortunately, current tools for error detection are incapable of differentiating minor package errors from major ones. On the other hand, it is not economical to develop complex business applications in a fully separate development environment—i.e., each package is developed independently from another. Therefore, there is a need to improve the current art of business application development in a shared development environment to reduce or eliminate package errors.